

 # 面向对象
 # 在现实世界中存在的[客体](https://baike.baidu.com/item/客体/0?fromModule=lemma_inlink)是问题域中的主角，所谓客体是指客观存在的[对象](https://baike.baidu.com/item/对象/0?fromModule=lemma_inlink)实体和主观[抽象](https://baike.baidu.com/item/抽象/0?fromModule=lemma_inlink)的概念，他是人类观察问题和解决问题的主要目标。例如，对于一个学校[学生管理系统](https://baike.baidu.com/item/学生管理系统/0?fromModule=lemma_inlink)来说，无论是简单还是复杂，始终是围绕学生和老师这两个[客体](https://baike.baidu.com/item/客体/0?fromModule=lemma_inlink)实施。在自然界，每个[客体](https://baike.baidu.com/item/客体/0?fromModule=lemma_inlink)都具有一些属性和行为，例如学生有学号、姓名、性别等属性，以及上课、考试、做实验等行为。因此，每个个体都可以用属性和行为来描述。

 # 通过 class 关键字来定义一个‘类’

# 类名称的首字母要大写
class Human:
     # 写在类里面的 ‘变量’，是类的属性（用以描述对象的属性）
     # 定义哪些属性，要根据代码所要实现的功能来考量
     name = ""
     age = 0
     address = ""
     sex = 0

     # 起名字方法
     # 方法可以传值，方式和函数的用法一样，但要写在self后面
     def setName(self, newName):
         self.name = newName

     # 叫我的名字
     def callMyName(self):
         # print 是输出的意思
         print("我的名字叫：" + self.name)



     # 我们定义函数的时候，是没有self, 而是参数（只有参数）
     # 但是函数写在 类里面的时候，它就叫类的 ‘方法’、‘行为’
     def eat(self):
         print("你吃了吗")

     def run(self):
         print("我会跑步")


# 如何使用类？ 类的使用叫“实例化”，实例化后的类，就是“对象”
# 一个类可以被实例化多次，就像是一个机器的设计图，可以制造出N个产品
# 类和对象的关系，一个类N个度对象，对象之间是独立的，都有各自的属性值
xiaoMing = Human()
xiaoMing.setName("小明")

xiaoMing.callMyName()

xiaoZhu = Human()
xiaoZhu.setName("小朱")
xiaoZhu.callMyName()








